﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using System.Data;
using System.Data.OleDb;
using System.Data.SqlClient;
namespace DXApplication2
{
    public partial class importdb : Form
    {
        private OpenFileDialog FileOpen = new OpenFileDialog();
        private string chooseFile;
        string connString = "";
        DataTable dt1 = new System.Data.DataTable();
        public importdb()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            FileOpen.ShowDialog();
            chooseFile = FileOpen.FileName;
        }
        void FileOpen_FileOk(object sender, CancelEventArgs e)
        {
            
           
        }
        private DataTable DisplayFile()
        {
            DataTable rs = new System.Data.DataTable();
            return rs;
        }

        private void button3_Click(object sender, EventArgs e)
        {
            chooseFile = FileOpen.FileName;
            this.Text = Path.GetFileName(chooseFile);
            connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + chooseFile + ";Extended Properties=Excel 12.0";
            OleDbConnection oledbConn = new OleDbConnection(connString);
            try
            {
                // Mở kết nối
                oledbConn.Open();
                dt1.Clear();
                // Tạo đối tượng OleDBCommand và query data từ sheet có tên "Sheet1"
                OleDbCommand cmd = new OleDbCommand("SELECT * FROM [hung$]", oledbConn);

                // Tạo đối tượng OleDbDataAdapter để thực thi việc query lấy dữ liệu từ tập tin excel
                OleDbDataAdapter oleda = new OleDbDataAdapter();

                oleda.SelectCommand = cmd;

                // Tạo đối tượng DataSet để hứng dữ liệu từ tập tin excel
                DataSet ds = new DataSet();

                // Đổ đữ liệu từ tập excel vào DataSet
                oleda.Fill(dt1);
                dataGridView1.DataSource = dt1;
                // Hiển thị dữ liệu đọc từ tập tin excel lên trên GridView
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                // Đóng chuỗi kết nối
                oledbConn.Close();
            }
        }

        private void button4_Click(object sender, EventArgs e)
        {
            string conn= @"Data Source=VANHUNG\SQLEXPRESS;database=lichthi;Integrated Security=true";
            SqlConnection con=new SqlConnection(conn);
            con.Open();
            string sql = "select * from sinhvien";
            DataTable dt = new System.Data.DataTable();
            SqlCommand cmd = new SqlCommand(sql, con);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            dt.Clear();          
            da.Fill(dt);
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                bool flag=true;
                for (int j = 0; j < dt1.Rows.Count;j++ )
                {
                    int a;
                    flag=int.TryParse(dt1.Rows[j][0].ToString(),out a);
                    if (flag == false || dt1.Rows[j][1].ToString().Equals(dt.Rows[i]["masv"].ToString()))
                        dt1.Rows.RemoveAt(j);
                }
            }
            dataGridView1.DataSource = dt1;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            string conn = @"Data Source=VANHUNG\SQLEXPRESS;database=lichthi;Integrated Security=true";
            SqlConnection con = new SqlConnection(conn);
            con.Open();
            for (int j = 0; j < dt1.Rows.Count; j++)
            {
                string sql = "insert into sinhvien(masv,hoten,gioitinh,iddonvi) values ('";
                sql += dt1.Rows[j][1].ToString() + "',N'";
                sql += dt1.Rows[j][2].ToString() + "','true','4')";
                SqlCommand cmd = new SqlCommand(sql, con);
                cmd.ExecuteNonQuery();
            }
            MessageBox.Show("OK");
        }

        private void button5_Click(object sender, EventArgs e)
        {
            dt1.Clear();
            dataGridView1.Refresh();
        }
    }
}
